/**
 * 比较两个数 num1 和 num2
 * @param num1
 * @param num2
 * @returns {number}
 *  当num1 > num2 返回 1
 *  当num1 == num2 返回 0
 *  当num1 < num2 返回 -1
 */
function compare(num1, num2){
    num1 = parseInt(num1 || 0);
    num2 = parseInt(num2 || 0);
    return num1 > num2 ? 1 : num2 == num1 ? 0 : -1;
}

/**
 * 将某个数字转换成百分比小数,保留两位小数
 * @param num
 * @returns {string|*}
 */
function percent(num){
    num = parseFloat(num);
    var result = parseFloat(num / 100);
    return fill_decimals(result);
}

/**
 * 保存两位小数
 * @param number
 * @returns {string|*}
 */
function fill_decimals(number) {
    return fill(number, 2, ".", 0);
}

/**
 * 将个字符串转换成 xxx.xx 格式 
 * @param str 字符串
 * @param precision 精度 分隔符后的位置
 * @param delimiter 分割符
 * @param fill_char 填充字符串
 * @returns {string | *} 转换后的字符串
 */
function fill(str, precision, delimiter, fill_char) {
    if(!str){return ""}
    str = String(str);
    precision = parseInt(precision);
    fill_char = String(fill_char);
    var index = str.lastIndexOf(delimiter);
    if(index < 0){
        if(precision > 0){
            str = str + delimiter + build_fill_char(precision, fill_char);
        }
    }else{
        var delimiter_last_count = str.length - index -1;
        if(delimiter_last_count == 0){
            str = str + delimiter + build_fill_char(precision, fill_char);
        }else{ // > 0 或 < 0 ，< 0 情况不存在
            if(delimiter_last_count > precision){
                str = str.substr(0, index+precision+1);
            }else{
                str = str + build_fill_char(precision-delimiter_last_count, fill_char);
            }
        }
    }
    return str;
}

function build_fill_char(count, fill_char){
    var res = "";
    for(var x=0; x<count; x++){
        res += fill_char;
    }
    return res;
}